package ru.ifmo.thesis.gp.configurations;

import org.jgap.InvalidConfigurationException;
import org.jgap.NaturalSelector;
import org.jgap.event.IEventManager;

import ru.ifmo.thesis.gp.FinalSOMutationOperator;
import ru.ifmo.thesis.gp.MyConfigurationOptions;
import ru.ifmo.thesis.gp.MyOrderedCrossover;

public class StatisticConfiguration extends BaseConfiguration {

	public StatisticConfiguration(MyConfigurationOptions options,
			IEventManager eventManager) {
		super(options, eventManager);
		doSetup(options, eventManager);
	}

	@Override
	protected NaturalSelector createNaturalSelector(
			MyConfigurationOptions options)
			throws InvalidConfigurationException {
		return tournamentSelectot();
	}

	@Override
	protected void setupGeneticOperators(MyConfigurationOptions options)
			throws InvalidConfigurationException {
		addGeneticOperator(new FinalSOMutationOperator(this));
		addGeneticOperator(new MyOrderedCrossover(this, 0.5d));
	}

}
